home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / src / exampleCode / opengl / GLUT / GL / fglut.h < prev    next >
Text File  |  1996-11-11  |  10KB  |  321 lines

  1.  
  2. C  Copyright (c) Mark J. Kilgard, 1994.
  3.  
  4. C  This program is freely distributable without licensing fees
  5. C  and is provided without guarantee or warrantee expressed or
  6. C  implied.  This program is -not- in the public domain.
  7.  
  8. C  GLUT Fortran header file
  9.  
  10. C  display mode bit masks
  11.     integer*4 GLUT_RGB
  12.     parameter ( GLUT_RGB = 0 )
  13.     integer*4 GLUT_RGBA
  14.     parameter ( GLUT_RGBA = 0 )
  15.     integer*4 GLUT_INDEX
  16.     parameter ( GLUT_INDEX = 1 )
  17.     integer*4 GLUT_SINGLE
  18.     parameter ( GLUT_SINGLE = 0 )
  19.     integer*4 GLUT_DOUBLE
  20.     parameter ( GLUT_DOUBLE = 2 )
  21.     integer*4 GLUT_ACCUM
  22.     parameter ( GLUT_ACCUM = 4 )
  23.     integer*4 GLUT_ALPHA
  24.     parameter ( GLUT_ALPHA = 8 )
  25.     integer*4 GLUT_DEPTH
  26.     parameter ( GLUT_DEPTH = 16 )
  27.     integer*4 GLUT_STENCIL
  28.     parameter ( GLUT_STENCIL = 32 )
  29.     integer*4 GLUT_MULTISAMPLE
  30.     parameter ( GLUT_MULTISAMPLE = 128 )
  31.     integer*4 GLUT_STEREO
  32.     parameter ( GLUT_STEREO = 256 )
  33.  
  34. C  mouse buttons
  35.     integer*4 GLUT_LEFT_BUTTON
  36.     parameter ( GLUT_LEFT_BUTTON = 0 )
  37.     integer*4 GLUT_MIDDLE_BUTTON
  38.     parameter ( GLUT_MIDDLE_BUTTON = 1 )
  39.     integer*4 GLUT_RIGHT_BUTTON
  40.     parameter ( GLUT_RIGHT_BUTTON = 2 )
  41.  
  42. C  mouse button callback state
  43.     integer*4 GLUT_DOWN
  44.     parameter ( GLUT_DOWN = 0 )
  45.     integer*4 GLUT_UP
  46.     parameter ( GLUT_UP = 1 )
  47.  
  48. C  special key callback values
  49.     integer*4 GLUT_KEY_F1
  50.     parameter ( GLUT_KEY_F1 = 1 )
  51.     integer*4 GLUT_KEY_F2
  52.     parameter ( GLUT_KEY_F2 = 2 )
  53.     integer*4 GLUT_KEY_F3
  54.     parameter ( GLUT_KEY_F3 = 3 )
  55.     integer*4 GLUT_KEY_F4
  56.     parameter ( GLUT_KEY_F4 = 4 )
  57.     integer*4 GLUT_KEY_F5
  58.     parameter ( GLUT_KEY_F5 = 5 )
  59.     integer*4 GLUT_KEY_F6
  60.     parameter ( GLUT_KEY_F6 = 6 )
  61.     integer*4 GLUT_KEY_F7
  62.     parameter ( GLUT_KEY_F7 = 7 )
  63.     integer*4 GLUT_KEY_F8
  64.     parameter ( GLUT_KEY_F8 = 8 )
  65.     integer*4 GLUT_KEY_F9
  66.     parameter ( GLUT_KEY_F9 = 9 )
  67.     integer*4 GLUT_KEY_F10
  68.     parameter ( GLUT_KEY_F10 = 10 )
  69.     integer*4 GLUT_KEY_F11
  70.     parameter ( GLUT_KEY_F11 = 11 )
  71.     integer*4 GLUT_KEY_F12
  72.     parameter ( GLUT_KEY_F12 = 12 )
  73.     integer*4 GLUT_KEY_LEFT
  74.     parameter ( GLUT_KEY_LEFT = 100 )
  75.     integer*4 GLUT_KEY_UP
  76.     parameter ( GLUT_KEY_UP = 101 )
  77.     integer*4 GLUT_KEY_RIGHT
  78.     parameter ( GLUT_KEY_RIGHT = 102 )
  79.     integer*4 GLUT_KEY_DOWN
  80.     parameter ( GLUT_KEY_DOWN = 103 )
  81.     integer*4 GLUT_KEY_PAGE_UP
  82.     parameter ( GLUT_KEY_PAGE_UP = 104 )
  83.     integer*4 GLUT_KEY_PAGE_DOWN
  84.     parameter ( GLUT_KEY_PAGE_DOWN = 105 )
  85.     integer*4 GLUT_KEY_HOME
  86.     parameter ( GLUT_KEY_HOME = 106 )
  87.     integer*4 GLUT_KEY_END
  88.     parameter ( GLUT_KEY_END = 107 )
  89.     integer*4 GLUT_KEY_INSERT
  90.     parameter ( GLUT_KEY_INSERT = 108 )
  91.     
  92. C  entry/exit callback state
  93.     integer*4 GLUT_LEFT
  94.     parameter ( GLUT_LEFT = 0 )
  95.     integer*4 GLUT_ENTERED
  96.     parameter ( GLUT_ENTERED = 1 )
  97.  
  98. C  menu usage callback state
  99.     integer*4 GLUT_MENU_NOT_IN_USE
  100.     parameter ( GLUT_MENU_NOT_IN_USE = 0 )
  101.     integer*4 GLUT_MENU_IN_USE
  102.     parameter ( GLUT_MENU_IN_USE = 1 )
  103.  
  104. C  visibility callback state
  105.     integer*4 GLUT_NOT_VISIBLE
  106.     parameter ( GLUT_NOT_VISIBLE = 0 )
  107.     integer*4 GLUT_VISIBLE
  108.     parameter ( GLUT_VISIBLE = 1 )
  109.  
  110. C  color index component selection values
  111.     integer*4 GLUT_RED
  112.     parameter ( GLUT_RED = 0 )
  113.     integer*4 GLUT_GREEN
  114.     parameter ( GLUT_GREEN = 1 )
  115.     integer*4 GLUT_BLUE
  116.     parameter ( GLUT_BLUE = 2 )
  117.  
  118. C  XXX Unfortunately, SGI's Fortran compiler links with
  119. C  EXTERNAL data even if it is not used.  This defeats
  120. C  the purpose of GLUT naming fonts via opaque symbols.
  121. C  This means GLUT Fortran programmers should explicitly
  122. C  declared EXTERNAL GLUT fonts in subroutines where
  123. C  the fonts are used.
  124.  
  125. C  stroke font opaque names
  126. C       external GLUT_STROKE_ROMAN
  127. C       external GLUT_STROKE_MONO_ROMAN
  128.  
  129. C  bitmap font opaque names
  130. C       external GLUT_BITMAP_9_BY_15
  131. C       external GLUT_BITMAP_8_BY_13
  132. C       external GLUT_BITMAP_TIMES_ROMAN_10
  133. C       external GLUT_BITMAP_TIMES_ROMAN_24
  134. C       external GLUT_BITMAP_HELVETICA_10
  135. C       external GLUT_BITMAP_HELVETICA_12
  136. C       external GLUT_BITMAP_HELVETICA_18
  137.  
  138. C  glutGet parameters
  139.     integer*4 GLUT_WINDOW_X
  140.     parameter ( GLUT_WINDOW_X = 100 )
  141.     integer*4 GLUT_WINDOW_Y
  142.     parameter ( GLUT_WINDOW_Y = 101 )
  143.     integer*4 GLUT_WINDOW_WIDTH
  144.     parameter ( GLUT_WINDOW_WIDTH = 102 )
  145.     integer*4 GLUT_WINDOW_HEIGHT
  146.     parameter ( GLUT_WINDOW_HEIGHT = 103 )
  147.     integer*4 GLUT_WINDOW_BUFFER_SIZE
  148.     parameter ( GLUT_WINDOW_BUFFER_SIZE = 104 )
  149.     integer*4 GLUT_WINDOW_STENCIL_SIZE
  150.     parameter ( GLUT_WINDOW_STENCIL_SIZE = 105 )
  151.     integer*4 GLUT_WINDOW_DEPTH_SIZE
  152.     parameter ( GLUT_WINDOW_DEPTH_SIZE = 106 )
  153.     integer*4 GLUT_WINDOW_RED_SIZE
  154.     parameter ( GLUT_WINDOW_RED_SIZE = 107 )
  155.     integer*4 GLUT_WINDOW_GREEN_SIZE
  156.     parameter ( GLUT_WINDOW_GREEN_SIZE = 108 )
  157.     integer*4 GLUT_WINDOW_BLUE_SIZE
  158.     parameter ( GLUT_WINDOW_BLUE_SIZE = 109 )
  159.     integer*4 GLUT_WINDOW_ALPHA_SIZE
  160.     parameter ( GLUT_WINDOW_ALPHA_SIZE = 110 )
  161.     integer*4 GLUT_WINDOW_ACCUM_RED_SIZE
  162.     parameter ( GLUT_WINDOW_ACCUM_RED_SIZE = 111 )
  163.     integer*4 GLUT_WINDOW_ACCUM_GREEN_SIZE
  164.     parameter ( GLUT_WINDOW_ACCUM_GREEN_SIZE = 112 )
  165.     integer*4 GLUT_WINDOW_ACCUM_BLUE_SIZE
  166.     parameter ( GLUT_WINDOW_ACCUM_BLUE_SIZE = 113 )
  167.     integer*4 GLUT_WINDOW_ACCUM_ALPHA_SIZE
  168.     parameter ( GLUT_WINDOW_ACCUM_ALPHA_SIZE = 114 )
  169.     integer*4 GLUT_WINDOW_DOUBLEBUFFER
  170.     parameter ( GLUT_WINDOW_DOUBLEBUFFER = 115 )
  171.     integer*4 GLUT_WINDOW_RGBA
  172.     parameter ( GLUT_WINDOW_RGBA = 116 )
  173.     integer*4 GLUT_WINDOW_PARENT
  174.     parameter ( GLUT_WINDOW_PARENT = 117 )
  175.     integer*4 GLUT_WINDOW_NUM_CHILDREN
  176.     parameter ( GLUT_WINDOW_NUM_CHILDREN = 118 )
  177.     integer*4 GLUT_WINDOW_COLORMAP_SIZE
  178.     parameter ( GLUT_WINDOW_COLORMAP_SIZE = 119 )
  179.     integer*4 GLUT_WINDOW_NUM_SAMPLES
  180.     parameter ( GLUT_WINDOW_NUM_SAMPLES = 120 )
  181.     integer*4 GLUT_WINDOW_STEREO
  182.     parameter ( GLUT_WINDOW_STEREO = 121 )
  183.     integer*4 GLUT_WINDOW_CURSOR
  184.     parameter ( GLUT_WINDOW_CURSOR = 122 )
  185.     integer*4 GLUT_SCREEN_WIDTH
  186.     parameter ( GLUT_SCREEN_WIDTH = 200 )
  187.     integer*4 GLUT_SCREEN_HEIGHT
  188.     parameter ( GLUT_SCREEN_HEIGHT = 201 )
  189.     integer*4 GLUT_SCREEN_WIDTH_MM
  190.     parameter ( GLUT_SCREEN_WIDTH_MM = 202 )
  191.     integer*4 GLUT_SCREEN_HEIGHT_MM
  192.     parameter ( GLUT_SCREEN_HEIGHT_MM = 203 )
  193.     integer*4 GLUT_MENU_NUM_ITEMS
  194.     parameter ( GLUT_MENU_NUM_ITEMS = 300 )
  195.     integer*4 GLUT_DISPLAY_MODE_POSSIBLE
  196.     parameter ( GLUT_DISPLAY_MODE_POSSIBLE = 400 )
  197.     integer*4 GLUT_INIT_WINDOW_X
  198.     parameter ( GLUT_INIT_WINDOW_X = 500 )
  199.     integer*4 GLUT_INIT_WINDOW_Y
  200.     parameter ( GLUT_INIT_WINDOW_Y = 501 )
  201.     integer*4 GLUT_INIT_WINDOW_WIDTH
  202.     parameter ( GLUT_INIT_WINDOW_WIDTH = 502 )
  203.     integer*4 GLUT_INIT_WINDOW_HEIGHT
  204.     parameter ( GLUT_INIT_WINDOW_HEIGHT = 503 )
  205.     integer*4 GLUT_INIT_DISPLAY_MODE
  206.     parameter ( GLUT_INIT_DISPLAY_MODE = 504 )
  207.     integer*4 GLUT_ELAPSED_TIME
  208.     parameter ( GLUT_ELAPSED_TIME = 700 )
  209.  
  210. C  glutDeviceGet parameters
  211.     integer*4 GLUT_HAS_KEYBOARD
  212.     parameter ( GLUT_HAS_KEYBOARD = 600 )
  213.     integer*4 GLUT_HAS_MOUSE
  214.     parameter ( GLUT_HAS_MOUSE = 601 )
  215.     integer*4 GLUT_HAS_SPACEBALL
  216.     parameter ( GLUT_HAS_SPACEBALL = 602 )
  217.     integer*4 GLUT_HAS_DIAL_AND_BUTTON_BOX
  218.     parameter ( GLUT_HAS_DIAL_AND_BUTTON_BOX = 603 )
  219.     integer*4 GLUT_HAS_TABLET
  220.     parameter ( GLUT_HAS_TABLET = 604 )
  221.     integer*4 GLUT_NUM_MOUSE_BUTTONS
  222.     parameter ( GLUT_NUM_MOUSE_BUTTONS = 605 )
  223.     integer*4 GLUT_NUM_SPACEBALL_BUTTONS
  224.     parameter ( GLUT_NUM_SPACEBALL_BUTTONS = 606 )
  225.     integer*4 GLUT_NUM_BUTTON_BOX_BUTTONS
  226.     parameter ( GLUT_NUM_BUTTON_BOX_BUTTONS = 607 )
  227.     integer*4 GLUT_NUM_DIALS
  228.     parameter ( GLUT_NUM_DIALS = 608 )
  229.     integer*4 GLUT_NUM_TABLET_BUTTONS
  230.     parameter ( GLUT_NUM_TABLET_BUTTONS = 609 )
  231.  
  232. C  glutLayerGet parameters
  233.     integer*4 GLUT_OVERLAY_POSSIBLE
  234.     parameter ( GLUT_OVERLAY_POSSIBLE = 800 )
  235.     integer*4 GLUT_LAYER_IN_USE
  236.     parameter ( GLUT_LAYER_IN_USE = 801 )
  237.     integer*4 GLUT_HAS_OVERLAY
  238.     parameter ( GLUT_HAS_OVERLAY = 802 )
  239.     integer*4 GLUT_TRANSPARENT_INDEX
  240.     parameter ( GLUT_TRANSPARENT_INDEX = 803 )
  241.     integer*4 GLUT_NORMAL_DAMAGED
  242.     parameter ( GLUT_NORMAL_DAMAGED = 804 )
  243.     integer*4 GLUT_OVERLAY_DAMAGED
  244.     parameter ( GLUT_OVERLAY_DAMAGED = 805 )
  245.  
  246. C  glutUseLayer parameters
  247.     integer*4 GLUT_NORMAL
  248.     parameter ( GLUT_NORMAL = 0 )
  249.     integer*4 GLUT_OVERLAY
  250.     parameter ( GLUT_OVERLAY = 1 )
  251.  
  252. C  glutGetModifiers return mask
  253.     integer*4 GLUT_ACTIVE_SHIFT
  254.     parameter ( GLUT_ACTIVE_SHIFT = 1 )
  255.     integer*4 GLUT_ACTIVE_CTRL
  256.     parameter ( GLUT_ACTIVE_CTRL = 2 )
  257.     integer*4 GLUT_ACTIVE_ALT
  258.     parameter ( GLUT_ACTIVE_ALT = 4 )
  259.  
  260. C  glutSetCursor parameters
  261.     integer*4 GLUT_CURSOR_RIGHT_ARROW
  262.     parameter ( GLUT_CURSOR_RIGHT_ARROW = 0 )
  263.     integer*4 GLUT_CURSOR_LEFT_ARROW
  264.     parameter ( GLUT_CURSOR_LEFT_ARROW = 1 )
  265.     integer*4 GLUT_CURSOR_INFO
  266.     parameter ( GLUT_CURSOR_INFO = 2 )
  267.     integer*4 GLUT_CURSOR_DESTROY
  268.     parameter ( GLUT_CURSOR_DESTROY = 3 )
  269.     integer*4 GLUT_CURSOR_HELP
  270.     parameter ( GLUT_CURSOR_HELP = 4 )
  271.     integer*4 GLUT_CURSOR_CYCLE
  272.     parameter ( GLUT_CURSOR_CYCLE = 5 )
  273.     integer*4 GLUT_CURSOR_SPRAY
  274.     parameter ( GLUT_CURSOR_SPRAY = 6 )
  275.     integer*4 GLUT_CURSOR_WAIT
  276.     parameter ( GLUT_CURSOR_WAIT = 7 )
  277.     integer*4 GLUT_CURSOR_TEXT
  278.     parameter ( GLUT_CURSOR_TEXT = 8 )
  279.     integer*4 GLUT_CURSOR_CROSSHAIR
  280.     parameter ( GLUT_CURSOR_CROSSHAIR = 9 )
  281.     integer*4 GLUT_CURSOR_UP_DOWN
  282.     parameter ( GLUT_CURSOR_UP_DOWN = 10 )
  283.     integer*4 GLUT_CURSOR_LEFT_RIGHT
  284.     parameter ( GLUT_CURSOR_LEFT_RIGHT = 11 )
  285.     integer*4 GLUT_CURSOR_TOP_SIDE
  286.     parameter ( GLUT_CURSOR_TOP_SIDE = 12 )
  287.     integer*4 GLUT_CURSOR_BOTTOM_SIDE
  288.     parameter ( GLUT_CURSOR_BOTTOM_SIDE = 13 )
  289.     integer*4 GLUT_CURSOR_LEFT_SIDE
  290.     parameter ( GLUT_CURSOR_LEFT_SIDE = 14 )
  291.     integer*4 GLUT_CURSOR_RIGHT_SIDE
  292.     parameter ( GLUT_CURSOR_RIGHT_SIDE = 15 )
  293.     integer*4 GLUT_CURSOR_TOP_LEFT_CORNER
  294.     parameter ( GLUT_CURSOR_TOP_LEFT_CORNER = 16 )
  295.     integer*4 GLUT_CURSOR_TOP_RIGHT_CORNER
  296.     parameter ( GLUT_CURSOR_TOP_RIGHT_CORNER = 17 )
  297.     integer*4 GLUT_CURSOR_BOTTOM_RIGHT_CORNER
  298.     parameter ( GLUT_CURSOR_BOTTOM_RIGHT_CORNER = 18 )
  299.     integer*4 GLUT_CURSOR_BOTTOM_LEFT_CORNER
  300.     parameter ( GLUT_CURSOR_BOTTOM_LEFT_CORNER = 19 )
  301.     integer*4 GLUT_CURSOR_INHERIT
  302.     parameter ( GLUT_CURSOR_INHERIT = 100 )
  303.     integer*4 GLUT_CURSOR_NONE
  304.     parameter ( GLUT_CURSOR_NONE = 101 )
  305.     integer*4 GLUT_CURSOR_FULL_CROSSHAIR
  306.     parameter ( GLUT_CURSOR_FULL_CROSSHAIR = 102 )
  307.  
  308. C  GLUT functions
  309.     integer*4 glutcreatewindow
  310.     integer*4 glutgetwindow
  311.     integer*4 glutcreatemenu
  312.     integer*4 glutgetmenu
  313.     real glutgetcolor
  314.     integer*4 glutget
  315.     integer*4 glutdeviceget
  316.     integer*4 glutextensionsupported
  317.  
  318. C  GLUT NULL name
  319.     external glutnull
  320.  
  321.